namespace Digitalmes.Application.Sys;

/// <summary>
/// 角色表
/// </summary>
public sealed class SysRoleDto : Dto
{
    /// <summary>
    /// 角色名称
    /// </summary>
    [Required]
    [StringLength(32)]
    public string? Name { get; set; }

    /// <summary>
    /// 角色父节点
    /// </summary>
    public long ParentId { get; set; }

    /// <summary>
    /// 父节点结合
    /// </summary>
    public List<long>? ParentIdList { get; set; }

    /// <summary>
    /// 角色层级
    /// </summary>
    public int Layer { get; set; } = 1;

    /// <summary>
    /// 角色编号
    /// </summary>
    public string? Number { get; set; }

    /// <summary>
    /// 是否超级管理员
    /// </summary>
    public bool IsSystem { get; set; }

    /// <summary>
    /// 状态
    /// </summary>
    public bool Status { get; set; } = true;

    /// <summary>
    /// 角色设置最大数量 0为不限制
    /// </summary>
    public int MaxLength { get; set; }

    /// <summary>
    /// 排序
    /// </summary>
    public int Sort { get; set; } = 1;

    /// <summary>
    /// 描述
    /// </summary>
    [StringLength(512)]
    public string? Summary { get; set; }

    /// <summary>
    /// 控制台
    /// </summary>
    public string? Console { get; set; }

    /// <summary>
    /// 是否删除
    /// </summary>
    public bool IsDel { get; set; }

    /// <summary>
    /// 创建时间
    /// </summary>
    public DateTime CreateTime { get; set; }

    /// <summary>
    /// 创建人
    /// </summary>
    public string? CreateUser { get; set; }

    /// <summary>
    /// 修改时间
    /// </summary>
    public DateTime? UpdateTime { get; set; }

    /// <summary>
    /// 修改人
    /// </summary>
    public string? UpdateUser { get; set; }
}
